import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path';

const timeStamp = new Date().getTime() // 添加时间戳

export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'),
    },
  },
  server: {
    open: true, // 是否自动打开浏览器
    port: 8888, // 端口号

    // 代理解决跨域
    proxy: {
      '/api': {
        target: 'http://im03.powerup.ifun.com:8899',  // 接口源地址
        changeOrigin: true,   // 开启跨域
        rewrite: (path => path.replace('/^\/api/', ''))
      }
    }
  },
  build: {
    // 删除文件中console、debugger等调试用的多余代码
    terserOptions: {
      compress: {
        drop_console: true,
        drop_debugger: true
      }
    },
    rollupOptions: {
      output: {
        // 将静态文件进行分类存放 并添加时间戳 每次打包文件资源不同
        chunkFileNames: `static/js/[name]-[hash].${timeStamp}.js`,
        entryFileNames: `static/js/[name]-[hash].${timeStamp}.js`,
        assetFileNames: `static/[ext]/[name]-[hash].${timeStamp}.[ext]`,
        // 静态资源分拆打包
        // manualChunks(id) {
        //   if (id.includes('node_modules')) {
        //     return id.toString().split('node_modules/')[1].split('/')[0].toString()
        //   }
        // }
      }
    },
  },
})
